var carmodul_collection = db.collection("carmodul");
(function() {
	// 构造函数
	var _con = function(info, admin) {
        var self = this;
        if (info) {
            // 自有id
            self.info = info;
            // 创建者
            self.creater = admin || {};
            self.id = "carmod_" + Math.random().toString(16).substr(2, 2) + (new Date()).getTime().toString(16);
            // 创建时间
            self.createtime = (new Date()).getTime();
            // 模块名称
            /*self.name = info.name;
            // 创建者
            self.creater = admin || {};
            self.creater_id = admin._id;
            // 图标
            //self.preview_img = info.preview_img;
            // 创建时间
            self.createtime = (new Date()).getTime();*/
        };
    };

    // 导出类
    module.exports = _con;

    // 添加房车型号
    _con.prototype.save = co.wrap(function*() {
    	var self = this;
    	if(!self.creater._id){
    		return printError("您不是管理员！");
    	}
    	if(!self.info){
    		return printError("错误！");
    	}
    	if(!self.info.name){
			return printError("房车型号不能为空！");
    	}
    	//查找房车是否存在。
    	var data = {
    		'_id':self.id,
    		'name':self.info.name,
            'createtime':self.createtime
    	};
    	return yield mongo.insertOne(carmodul_collection,data);
    });

    // 修改房车型号
    _con.prototype.update = co.wrap(function*() {
		var self = this;
		if(!self.creater._id){
    		return printError("您不是管理员！");
    	}
		var data = self.info;
		var _id = data._id;
		if(!_id){
			return printError("房车型号不存在！");
		}
		delete data._id;
		return yield mongo.updateOne(carmodul_collection,{
			query:{_id:_id},
			data:data
		});

    });

     //删除指定房车型号
    _con.prototype.delete = co.wrap(function*(_id){
        var self = this;
        if(!self.creater._id){
            return printError("您不是管理员！");
        }
        var _doc = yield mongo.removeOne(carmodul_collection,{
            query:{
                _id:_id
            }
        });
        return _doc;
    })
}());